feat: support user rank card#5629
Conversation
These keys belong to the leaderboard tables feature and are not referenced on this branch, so i18next-parser prunes them. Regenerate the catalogs so the committed translations match the parser output and CI passes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 941b259 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR implements the user rank card for the Prime Leaderboard page, adding a
Confidence Score: 4/5Safe to merge with one caveat: the "no rewards" UI path in LastCycleSummaryModal is dead code and will need attention before API integration. In LastCycleSummaryModal, placeholderHasRewards is hardcoded to true, making the if (!placeholderHasRewards) block permanently unreachable. The eligibility/not-eligible message content can never be assigned or rendered, and there are no tests that cover this path. When real API data is wired in, a developer will need to handle this case correctly but it has never been visually or test-verified in the current scaffolding. apps/evm/src/pages/PrimeLeaderboard/LastCycleSummaryModal/index.tsx — the no-rewards content branch is dead code. Important Files Changed
Reviews (2): Last reviewed commit: "feat: rank section style" | Re-trigger Greptile |
| <Button | ||
| variant="secondary" | ||
| className="flex-1" | ||
| onClick={() => setIsSummaryModalOpen(true)} | ||
| > | ||
| <div className="flex items-center gap-x-2"> | ||
| <Icon name="graduationCap" className="size-5" /> | ||
| {t('primeLeaderboard.rankCard.rulesButton')} | ||
| </div> | ||
| </Button> | ||
| </div> | ||
| </div> | ||
|
|
||
| <LastCycleSummaryModal | ||
| isOpen={isSummaryModalOpen} | ||
| handleClose={() => setIsSummaryModalOpen(false)} |
There was a problem hiding this comment.
"Rules" button opens Last Cycle Summary, not rules content
The button is labelled "Rules" (with a graduation-cap icon, rulesButton: "Rules" in the translation key) and the PR description explicitly mentions "support rules modal", but clicking it opens LastCycleSummaryModal, whose title is "Last Cycle Prime Summary" and which shows historical cycle reward data. A user clicking "Rules" expects to learn about Prime eligibility criteria, not see past-cycle stats — these are two distinct pieces of information. If the modal content is intentionally the rules surface, the button label and translation key should reflect that (e.g. "Last Cycle"); if a separate rules modal is planned, LastCycleSummaryModal should not be wired here yet.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
@greptile review again |
62bff1f to
4f5780c
Compare
|
Superseded by #5638 (rebuilt as a clean chained PR on top of the Prime Leaderboard stack). |
Jira ticket(s)
VPD-1332
Changes
Supply on Valuts

Supply on Prime leaderboard

rules on Prime

